exports.updateBargainActivity = function (req, res) {

    //获取restful参数
    var bodyParams = req.routeInfo.bodyParams;
    //最终结果
    var resultData = {};

    var completeCount = 0;

    var successCount = 0;

    var count = 0;

    //任务流创建
    async.waterfall([
        //1.权限验证
        /*function (cb) {
            P.permissionValidation(req, res, [CORE_APIConfig.coreAPI.updateOrganizationActivity], function () {
                cb()
            });
        },*/


        //查询_更新砍价活动基本信息
            function (cb) {
                R.SEND_HTTP(
                    req,
                    {
                        url:CORE_APIConfig.coreAPI.updateOrganizationActivity,
                        method: 'POST',
                        data: {
                            oa_id           : bodyParams.oa_id,
                            oa_type         : 2,
                            oa_title        : bodyParams.activity_name,
                            oa_oid          : bodyParams.oid,
                            oa_category_text: bodyParams.category_text,
                            oa_start_time   : bodyParams.activity_start_time,
                            oa_end_time     : bodyParams.activity_end_time,
                            oa_explain      : bodyParams.activity_note,
                            oa_title_image  : bodyParams.activity_image,

                            oa_skin_id  : bodyParams.oa_skin_id,                    //更新皮肤id
                            oa_music_id  : bodyParams.oa_music_id,                  //更新音乐id
                            oa_class_time  : bodyParams.oa_class_time,              //更新上课时间
                            oa_class_duration  : bodyParams.oa_class_duration,      //更新上课市场
                            oa_class_apply  : bodyParams.oa_class_apply,            //更新适用课程
                            oa_class_people  : bodyParams.oa_class_people,          //更新适用人群
                            oa_class_basics  : bodyParams.oa_class_basics,          //更新适用基础
                            oa_class_phone  : bodyParams.oa_class_phone,            //更新联系电话
                            oa_title_image_text  : bodyParams.oa_title_image_text,            //封面图的文字
                            oa_title_image_text_style  : bodyParams.oa_title_image_text_style,            //封面图上的文字的样式
                            oa_thumbnail  : bodyParams.oa_thumbnail,            //封面图上的文字的样式
                            oa_title_image_type  : bodyParams.oa_title_image_type,            //封面图上的文字的样式
                        }

                    },
                    function (err, data) {
                        //判断是否有错误信息
                        if (err) {
                            return RES.response(res, false, "砍价活动主表更新失败，请重新尝试");
                        }
                        cb();
                    }
                );

            },

            //查询_更新促销活动扩展信息
            function(cb){
                R.SEND_HTTP(
                    req,
                    {
                        url: CORE_APIConfig.coreAPI.updateBargainActivityConfig,
                        method: 'POST',
                        data: {
                            bc_id               : bodyParams.bc_id,
                            bc_most_price       : bodyParams.most_price,
                            bc_least_price      : bodyParams.least_price,
                            bc_most_cut_price   : bodyParams.most_cut_price,
                            bc_oaid             : bodyParams.oa_id,
                            bc_least_cut_price  : bodyParams.least_cut_price,
                            bc_interval_cut_time: bodyParams.interval_cut_time,
                            bc_invite_reward    : bodyParams.invite_reward,
                            bc_appointment_info : bodyParams.appointment_info,
                            bc_class_adjust_info: bodyParams.class_adjust_info,
                            bc_refund_info      : bodyParams.refund_info,
                            bc_other_info       : bodyParams.other_info,
                            bc_cozy_tips        : bodyParams.cozy_tips,
                            bc_get_reward       : bodyParams.get_reward,
                            bc_preferential     : bodyParams.preferential,
                            bc_course_title     : bodyParams.course_title,
                            bc_course_image     : bodyParams.course_image,
                            bc_course_price     : bodyParams.course_price,
                            bc_course_count     : bodyParams.course_count,
                            bc_max_user_count   : bodyParams.bc_max_user_count,
                            bc_coupon_id         : bodyParams.bc_coupon_id,
                            bc_coupon_type       : bodyParams.bc_coupon_type,
                            bc_last_update_time :Date.parse(new Date())*0.001

                        }
                    },
                    function (err, data) {
                        //判断是否有错误信息
                        if (err) {
                            return RES.response(res, false, "砍价活动配置表更新失败，请重新尝试");
                        }

                        cb();
                    }
                );

            },


            //查询_更新促销活动扩展信息
            function(cb){
                R.SEND_HTTP(
                    req,
                    {
                        url: CORE_APIConfig.coreAPI.searchActivityCoupon + "/ac_oaid/"+bodyParams.oa_id + "/count/1",
                        method: 'POST',
                        fields : [
                            "ac_id",

                        ].join(",")
                    },
                    function (err, data) {
                        //判断是否有错误信息
                        if (err) {
                            return RES.response(res, false, "优惠劵记录查询失败");
                        }
                        count = data.count;
                        cb();
                    }
                );

            },


            function(cb){
                if(count>0){
                R.SEND_HTTP(
                    req,
                    {
                        url: CORE_APIConfig.coreAPI.deleteActivityCoupon,
                        method: 'POST',
                        data: {
                            ac_oaid               : bodyParams.oa_id,
                        }
                    },
                    function (err, data) {
                        //判断是否有错误信息
                        if (err) {
                            return RES.response(res, false, "优惠券记录表删除失败");
                        }

                        cb();
                    }
                );
                }else{
                    cb();
                }
            },

            function (cb){
                if(bodyParams.bc_coupon_id!= undefined && bodyParams.bc_coupon_id != ''&& bodyParams.bc_coupon_id != 0){
                R.SEND_HTTP(
                    req,
                    {
                        url: CORE_APIConfig.coreAPI.addActivityCoupon,
                        method: 'POST',
                        data: {
                            ac_oid       : bodyParams.oid,                //机构id
                            ac_oaid      : bodyParams.oa_id,                      //活动id
                            ac_type      : bodyParams.bc_coupon_type,   //券类型
                            ac_fid       : bodyParams.bc_coupon_id,      //券id
                            ac_oatype    : 1                       //活动类型
                        }
                    },
                    function (err, data) {
                        //判断是否有错误信息
                        if (err) {
                            return RES.response(res, false, "优惠券记录表更新失败");
                        }

                        cb();
                    }
                );
                }else{
                    cb();
                }
            },



            //更新砍价活动内容
            function (cb) {
                if(bodyParams.ischangecontent==1){
                    R.SEND_HTTP(
                        req,{
                            url:CORE_APIConfig.coreAPI.deleteBargainActivityContent,
                            method:'POST',
                            data:{
                                bc_oaid:bodyParams.oa_id,
                            }
                        },
                        function (err, data) {
                            //判断是否有错误信息
                            if (err) {
                                return RES.response(res, false, "该活动内容删除失败，请重新尝试");
                            }

                            var contentArr = JSON.parse(bodyParams.activity_content_data);//bodyParams.activity_content_data;//
                            successCount  = contentArr.length;
                            //console.log(contentArr);
                            completeCount = 0;
                            //创建添加任务
                            var tasks = [];
                            //循环节点列表
                            contentArr.forEach(function (item, i) {
                                //创建每一个插入任务
                                tasks.push(function (cb) {

                                    R.SEND_HTTP(
                                        req,
                                        {
                                            url: CORE_APIConfig.coreAPI.addBargainActivityContent,
                                            method: 'POST',
                                            data: {
                                                bc_type      : item.type,
                                                bc_order     : i,
                                                bc_content   : item.content,
                                                bc_oaid      : bodyParams.oa_id
                                            }
                                        },
                                        function (err, data) {

                                            //判断是否有错误信息
                                            if(err) {
                                                //console.log("添加错误");
                                            }else{
                                                completeCount++;
                                            }
                                            cb();
                                        }
                                    );
                                });
                            });
                            async.waterfall(tasks, cb);


                        }
                    )

                }else {
                    cb();
                }
            },
            // //判断写入结果
            function(cb){
                if(successCount == completeCount){
                    cb();
                }else{
                    return RES.response(res, false, "活动内容新增失败，请重新尝试");
                }
            }

        ], function (err, result) {
            //返回最终拼接结果
            RES.response(res, true, resultData);
        }
    );
}